PC端
移动端:
一、微信端:
1)公众号(H5页面)(信用卡、银行卡、移动联通等通过公众号接入等页面)
2)小程序:就是一个前端框架(需要等掌握ui框架 + MVVM框架)
二、App端:
ios
android
混合应用开发Hybird App
三、H5端:例如 易企秀、H5商城(就是使用H5标准编写一个手机页面)
核心技术 :Html + Css + JavaScript
开发一套适用5端。
总结:所谓端移动端开发,就是开发适用于手机的网页。
------------------------------------------------------------------
PC端与移动端区别:
1.设备的屏幕 - 》页面布局
2.分辨率(设备品牌型号种类繁多)=》 屏幕适配
3.输入特性(操作方式)=》 事件
4.性能:手机性能普遍比pc差
移动端页面布局相比pc端而言简洁、主要问题在于处理事件、屏幕适配。
-------------------------------------------------------------------
专业术语:
1.设备像素(物理像素):
设备像素指的是显示器上的真实像素,每个像素的大小是屏幕固有的属性,屏幕出厂以后就不会改变了。
屏幕宽、高的像素点数量
2.设备像素比(DPR)devicePixelRatio:设置物理像素与逻辑像素比例,(js中可以获取:window.devicePixelRatio)
3.设备分辨率(DPI):单位英寸中所包含的像素点(物理像素点数量并不一定根据屏幕尺寸决定)
4.逻辑像素:布局像素(css布局中的像素)
视网膜屏(retina):视觉效果非常高清
原理:1个逻辑像素通过2个单位的物理像素来呈现。
苹果设备:一般dpr 2
iphone6 : 物理像素: 750 * 1334
因为设备的dpr2 ,一个逻辑像素需要两个物理像素来呈现,所以iphone6中屏幕最大的布局像素为: 750 / 2 = 375
dpr常见值: 1 (低端机) 、 2(普遍) 、 3(少有型号,魅族、三星、mi)
视口:各种可视区域的宽度。
-布局视口:window.innerWidth 获取 布局时的宽度(981)
-视觉视口:设备的宽度,screen.width 获取(375)
-理想视口:让布局视口和视觉视口一样大小,页面就不会缩小或放大。
移动端开发必须添加一个视口标签。
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"/>
常见网页单位:
px
em
rem
pt
vw: viewwidth 按百分比算 100%
vh: viewheight
-------------------------------------------------------------
一般的网站会有pc与移动端:
移动端实现方案:
百分比布局
自适应布局
响应式布局:一套页面,可以适用于pc也可以适用于移动端(手机、平板)页面布局
优点:一套开发,降低开发、维护成本
缺点:开发复杂、内容会出现冗余,性能会有所降低
场景:一般页面布局结构简单,呈块状,内容简单
移动端开发技术:
-弹性盒子:
-媒体查询:缺点,繁琐(屏幕尺寸太多规格,需要做很多的匹配)
-手淘方案:flexible(其实也是使用rem的原理实现)
实际开发过程中,一般的设计稿按照iphone6尺寸设计(750px宽度的psd设计稿)
-rem:相对于根元素的字体大小设置
手机m站:除了一套pc页面,还有一套针对于移动端端页面(两套)。
两套网站缺点:
1.开发成本高(开发用时、用人)
2.维护成本高
优点:性能高
场景:在pc内容结构复杂时,使用m站相对有优势。
-------------------------------------------------------------
移动开发使用的技术:
媒体查询:通过css媒体查询设备信息,做出不同的布局样式,从而实现设备的适配与响应式布局
弹性盒子:代替以前定位、浮动布局的一种新方案。
-------------------------------------------------------------
APP:移动端应用
1.ios(objective-c /swift) 、 android(原生应用 native , java)(前端直接略过):
优点:性能、体验高(最佳)
缺点:开发成本高、升级(更新)维护难、不能跨平台
2.H5 web 开发(将网页直接打包成web app ,使用的移动端上的webview运行的)
优点:开发成本(学习成本)、维护成本低、可以跨平台开发(写一套页面,直接打包成安卓、苹果)
缺点:性能低、体验差、功能受限制
3.Hybird App 混合应用(热门)
优点:性能比web版高、开发成本低、维护方便、跨平台开发,可以使用大量的原生功能(相机、文件操作、录音、定位...)
缺点:暂时没有明显
实现技术:
1.开发安卓: 安装安卓的开发环境(1.java JDK \ 2.Android Studio)、模拟器(运行app)
工具:
1.cordova (扩展框架)上手难度高
2.HBuilder(编辑器+提供在线打包服务(不需要自己搭环境)、HB公司下MUI框架 + (H5+ 提供部分原生功能) 开发混合)没有门槛
------------------------------------------------------------------
数字天堂 :
开发工具: Hbuilder
H5+标准(混合应用框架标准)
提供MUI(UI框架)(做页面布局的框架)
-----------------------------------------------------------------
移动端js交互事件:
因为设备的类型不一样,操作方式不同,事件与pc自然不同。
移动设备操作:
1.触摸
2.长按
3.上下左右滑动
4.双击触摸
pc端事件:
1.鼠标悬停、离开、按下、起来(x)
2.单击(可用,会比移动端原生触摸事件延迟300ms)
zepto.js (移动端jQuery):
1.简化dom操作
2.简化事件处理
3.简化ajax操作
4.方便的动画特效函数
移动端还需要针对性的框架(提供效率):
技术选型:选择框架原则,就是简单高效,完善文档、稳定的迭代更新。
1.轮播图 : swiper
2.下拉刷新:isScroll =》 api地址: https://iiunknown.gitbooks.io/iscroll-5-api-cn/content/gettingstart.html
3.上拉加载更多
4.滑动回弹效果
fullpage /